/**
 * 文件名：UserSession.java
 *
 * 版本信息：
 * 日期：2011-4-11
 * Copyright EasyDevelop.CN 2011
 *
 */
package com.djzhou.gmms.util.session;

import net.fckeditor.requestcycle.UserAction;

import com.opensymphony.xwork2.ActionContext;

/**
*
* 项目名称：nfp_hlj
* 类名称：UserSession
* 类描述：存储用户登录后各模块的相关信息
* 创建人：linhu
* 创建时间：2011-4-11
* 修改人：
* 修改时间：
* 修改备注：
* @version
*/
public class UserSession {

	private UserSession() {

	}
	
	private static UserAction userActionInSession;
	
	
	/**
	 * 验证session是否有效
	 */
	public static Boolean validateSession() {
		try {
			if (ActionContext.getContext() != null) {
				return ((SessionModel) ActionContext.getContext().getSession()
						.get("sessionModel")).getSessionIsInstance();
			}
			return Boolean.FALSE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}
	
	/**
	 * 装载sessionModel
	 */
	public static void setSessionModel(SessionModel sessionModel, Boolean initialize) {
		if (initialize.booleanValue()) {
			ActionContext.getContext().getSession().put("sessionModel", sessionModel);
		}
		if (!initialize.booleanValue() && validateSession() && null != sessionModel)
			ActionContext.getContext().getSession().put("sessionModel", sessionModel);
	}
	/**
	 * 得到sessionModel
	 */
	public static SessionModel getSessionModel() {
		if (validateSession()) {
			SessionModel sM = (SessionModel) ActionContext.getContext().getSession().get("sessionModel");
			if (null != sM && sM.getUser().getUserId().intValue() != 0)
				return sM;
		}
		return null;
	}
	/**
	 * 清除UserSession中的信息
	 */
	public static void clearUserSession() {
		if (validateSession()) {
			((SessionModel) ActionContext.getContext().getSession().get("sessionModel"))
					.setSessionIsInstance(Boolean.FALSE);
			ActionContext.getContext().getSession().clear();
		}
	}
	public UserAction getUserActionInSession() {
		return userActionInSession;
	}

	public void setUserActionInSession(UserAction userActionInSession) {
		UserSession.userActionInSession = userActionInSession;
	}


}
